草庐IT

gdb 反汇编

全部标签

windows - Subsystem for Unix Application on Windows 如何在汇编中实现系统调用?

比如这个linux系统调用int$0x80。SUA是否实现了类似的东西?如果是这样,命令是什么?这个特定的代码是我想更改以在SUA上使用的代码#cpuid.sSampleprogramtoextracttheprocessorVendorID.section.dataoutput:.ascii"TheprocessorVendorIDis'xxxxxxxxxxxxx'\n".section.text.globl_start_start:movl$0,%eaxcpuidmovl$output,%edimovl%ebx,28(%edi)movl%edx,32(%edi)movl%ecx,3

windows - gdb 在我的 Qt 项目中崩溃

我已经通过网络安装安装了Qt库、minGW和Creator。如果我在没有调试的情况下运行应用程序,它会成功运行,但如果我使用调试-系统警报“意外输出:gdb崩溃”。我的系统:Qt4.8.0minGW4.4Windows7SP1x64 最佳答案 我已经解决了这个问题。我删除了minGW,Qt安装的,和从官方网站安装它(minGW)。现在它可以正常工作了。 关于windows-gdb在我的Qt项目中崩溃,我们在StackOverflow上找到一个类似的问题: ht

windows - 如何在 64 位 Windows 计算机上链接 32 位 Nasm 汇编目标代码

我从http://www.dreamincode.net/forums/topic/328714-my-program-keeps-crashing/中找到了以下代码.globalstart;~msvcrt.dllextern_printf%defineprintf_printf;~kernel32.dllexternExitProcess,GetCommandLineW,LocalFree%defineGetCommandLineGetCommandLineW;~shell32.dllexternCommandLineToArgvW%defineCommandLineToArgvCo

windows - 是否可以在不链接到 c 库且不使用 ExitProcess() 的情况下从汇编代码创建 Windows exe?

这个问题在这里已经有了答案:Makeaprogramusingonlysystem-callsnotwindowsdll's[duplicate](1个回答)关闭4年前。出于教育目的,我正在尝试使用不依赖于标准C库或WindowsDLL的汇编代码在Windows上创建一个(32位)exe。我可以创建一个开始运行的程序(并且我可以使用gdb进行调试)但是我不确定如何干净地退出该程序。所有教程要么链接到标准C库并定义main函数,要么使用在DLL中定义的ExitProcessWinAPI调用。在32位Linux上,我会将int0x80指令与exit系统调用一起使用。显然,Windows没有

windows - 如何在汇编程序中更改屏幕背景

这是作业:如何在汇编程序(Windows上的NASM)中清除屏幕并更改前景色和背景色编辑:原来答案是这样的movbh,71hint10h 最佳答案 查看FillConsoleOutputCharacter和SetConsoleTextAttribute. 关于windows-如何在汇编程序中更改屏幕背景,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5465284/

windows - 与时间相关的中断在 Windows 中的汇编程序中不起作用?

我想用汇编语言创建一个延迟几秒钟的小程序。我使用的是WindowsXPSP3,打开DOS窗口,然后运行​​debug.exe我在那里输入了这个简短的汇编程序:MOVCX,3DMOVDX,0900MOVAH,86INT15中断15h中的功能86h,执行延迟,延迟的持续时间以CX、DX为单位,以微秒为单位。所以如果我想延迟4秒,那么它是4,000,000microseconds=3D0900h,这就是我在CX,DX中输入的内容。运行这个短程序,不幸的是没有执行任何延迟,它立即退出。然后我尝试了另一个中断函数:函数号0,在中断1Ah中,将PC的时钟计数返回到CX,DX。每个刻度为1/18.2

windows - 如何在 CMD Windows XP 中执行汇编语言代码?

我学习了汇编语言编码。现在我想通过在WindowsXP命令提示符下运行来检查它。我已经输入调试命令并成功编​​写了汇编语言代码。我遇到的问题是如何执行我在上面写的命令?任何key、语句或其他?在这种情况下请帮助我。我星期天有考试。问候。 最佳答案 我想展示如何重定向一些汇编助记符和调试命令,以便在批处理文件和一些管道(>必须将以下示例复制并粘贴到新的文本文件中。文本文件必须重命名为“bat”文件扩展名:示例:“Hello.bat”@echooffechoacs:100>tmp.debechomovdx,108>>tmp.debech

windows - 我怎样才能在 win32 汇编程序(特别是 nasm)中获得脉冲?

我打算制作一个时钟。一个实际的时钟,不适用于Windows。但是,我希望现在能够编写大部分代码。我将使用PIC16F628A来驱动时钟,它有一个我可以访问的定时器(实际上,除了它内置的时钟之外,它还有3个)。然而,Windows似乎没有这个功能。这使得制作时钟有点困难,因为我需要知道它已经过了多长时间才能更新当前时间。所以我需要知道如何在Windows中获得脉冲(1Hz、1KHz,只要我知道它有多快就无所谓了)。 最佳答案 Windows中有许多可用的计时器对象。可能最容易用于您的目的的是多媒体计时器,但它已被弃用。它仍然可以工作,

windows - Windows CE 的汇编语言

如何用汇编语言为WindowsCE(x86)编写程序?现在我正在使用VS2008winthWindowsCE5.0SDK,我的C++程序运行良好。我尝试用我的代码创建一个asm文件并将其包含到项目中:#include"stdafx.h"#include"windows.h"extern"C"voidclear();int_tmain(intargc,_TCHAR*argv[]){clear();return0;}清除.asm:.586;Targetprocessor.UseinstructionsforPentiumclassmachines.MODELFLAT,C;Usethefla

c++ - 为什么 gdb 在 Windows 中这么慢?

我最近注意到在Windows中的gdb中运行一个程序会使它变慢很多,我想知道为什么。这是一个例子:纯C++03项目,使用mingw32(gcc4.8.1,32位)编译。它与libstdc++和libgcc静态链接,没有使用其他库。这是一个cpu和内存密集型非并行进程(网格编辑操作,大量新闻和删除以及对所涉及数据结构的查询)。问题不在于启动时间,整个过程非常缓慢。调试构建(-O0-g2)在gdb外部运行8秒,但在gdb内部运行140秒。从命令行测试,只需启动gdb并键入“运行”(未定义断点)。我还测试了一个发布版本(优化的,没有调试信息),它在gdb中仍然慢得多(3秒对140秒;是的,它